Priority ordered user interface screens for controlling a device

ABSTRACT

An information processing apparatus includes a storage unit configured to store information representing a plurality of screens in each of a plurality of groups to which priorities are previously set, a determination unit configured to determine a group which is assigned the highest priority, and a control unit configured to display on a display unit a representative screen of the group assigned the highest priority.

The present application is a continuation of U.S. patent applicationSer. No. 12/642,374, filed Dec. 18, 2009, entitled “PRIORITY ORDEREDUSER INTERFACE SCREENS FOR CONTROLLING A DEVICE”, the content of whichis expressly incorporated by reference herein in its entirety. Further,the present application claims priority from Japanese Patent ApplicationNo. 2009-020227, filed Jan. 30, 2009, which is hereby incorporated byreference herein in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a technique for making transition of ascreen to be displayed from among a plurality of screens according to auser's operation or the like.

2. Description of the Related Art

A digital apparatus is becoming increasingly multifunctional, so that anumber of screens to be switched and displayed on a display device orthe like as a graphical user interface (GUI) has increased. In recentyears, a digital apparatus that switches several hundred toapproximately thousand screens to display the screens on a displaydevice has existed.

When a rule for switching a plurality of screens and displaying thescreens on a display device or the like (hereinafter referred to as ascreen transition rule) is set, a destination screen in a transition maynot be uniquely determined for a particular input event such as an inputoperation by a user. More specifically, a complicated screen transitionrule needs to be set.

A printer is taken as an example of the above described digitalapparatus to specifically describe the complicated screen transitionrule.

Generally, when a cover of the printer is opened, a screen notifying auser that the cover of the printer is opened is displayed on a displaydevice or the like connected to the printer.

When a memory card having pictures recorded thereon is inserted into amemory card slot connected to the printer, a screen for displaying alist of the pictures recorded on the memory is displayed on the displaydevice.

Even if the memory card is inserted in a similar manner to the abovewhen the cover of the printer is opened as an exception, however, ascreen notifying the user that the cover of the printer is opened isdisplayed on the display device. More specifically, the screen displayedon the display device is not switched to the screen for displaying thelist of pictures recorded on the memory card.

When the cover of the printer is then closed, the screen is switched tothe screen for displaying the list of pictures recorded on the memorycard. This is because the user should be generally notified ofinformation relating to opening and closing of the cover of the printerin preference to information relating to an image recorded on the memorycard.

Thus, the complicated screen transition rule needs to be set inconnection with the opening and closing of the cover of the printer, forexample, for a particular input event such as insertion of the memorycard.

Conventionally, the screen transition rule for a user interface (UI) hasbeen installed in a programming language such as a C language.

When a hypertext markup language (HTML) is used, a rule for a screentransition (a page transition on the Web) can be described using ananchor tag (<a>). More specifically, the screen transition rule can bedescribed in a markup language.

Conventionally, a technique for setting a correspondence betweeninformation representing each screen at a transition source, and aninput event for making a screen transition and a screen (a screen at atransition destination) which is displayed when the input event occurs,has been discussed (e.g., Japanese Patent Application Laid-Open No.2000-132295).

When a screen transition rule is set such that the screen is notswitched even if the memory card is inserted with the cover of theprinter opened, as described above, and the screen is switched to thescreen for displaying the list of pictures recorded on the memory whenthe cover of the printer is closed, the following problems may arise.

If the screen transition rule is set for each of the screens at thetransition source, conditions of the printer and input events for makingthe transition of screens, setting work becomes complicated when anumber of screens to be switched and displayed on the display device isincreased.

When the screen transition rule is installed in the conventionalprogramming language, a large number of man-hours is required.

SUMMARY OF THE INVENTION

The present invention is directed to a technique for efficientlydesignating a screen to be displayed on a display device or the likefrom among a plurality of candidates for screens. The present inventionis further directed to a technique for efficiently setting a screentransition rule.

According to an aspect of the present invention, an informationprocessing apparatus includes a storage unit configured to storeinformation representing a plurality of screens in each of a pluralityof groups to which priorities are previously set, a determination unitconfigured to determine a group which is assigned the highest priority,and a control unit configured to display on a display unit arepresentative screen of the group assigned the highest priority.

According to the present invention, a screen to be displayed on adisplay device or the like can be efficiently designated from among aplurality of candidates for screens. A screen transition rule can beefficiently set.

Even when a number of screens to be switched and displayed on a displaydevice is increased, occurrence of complicated work for setting a screentransition rule can be avoided.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constituteparts of the specifications, illustrate exemplary embodiments, features,and aspects of the invention and, together with the description, serveto explain the principles of the invention.

FIGS. 1A and 1B are respectively a block diagram of a printer accordingto a first exemplary embodiment of the present invention and a hardwareconfiguration thereof.

FIG. 2 is a flowchart illustrating processing performed in a controlunit according to the first exemplary embodiment of the presentinvention.

FIG. 3 is an example of a transition diagram illustrating datarepresenting screen transition specifications according to the firstexemplary embodiment of the present invention.

FIGS. 4A, 4B, and 4C respectively illustrate examples of a historymanagement stack stored by a management unit.

FIG. 5 illustrates an example of a design tool for designing datarepresenting screen transition specifications according to a fourthexemplary embodiment of the present invention.

FIG. 6 illustrates an example in which data representing screentransition specifications according to a third exemplary embodiment ofthe present invention is described in an XML format.

FIG. 7 illustrates a configuration according to a fifth exemplaryembodiment of the present invention.

FIG. 8 is a flowchart illustrating respective operations of a printerand a distribution server according to the fifth exemplary embodiment ofthe present invention.

DESCRIPTION OF THE EMBODIMENTS

Various exemplary embodiments, features, and aspects of the inventionwill be described in detail below with reference to the drawings.

FIG. 1A is a functional block diagram of a printer which serves as anexample of an information processing apparatus according to the presentexemplary embodiment. In FIG. 1A, the printer includes an input unit101, a control unit 102, a description unit 103, a management unit 104,and a display unit 105.

The input unit 101 includes a plurality of buttons 204, a sensor fordetecting opening and closing of a cover, and so on, and receivesinstruction signals such as various inputs from a user and a sensorinput.

The control unit 102 includes a central processing unit (CPU) 201, andreads a program and data stored in a read-only memory (ROM) 203 to arandom access memory (RAM) 202 and performs various types of processing.

The description unit 103 includes a storage medium such as the ROM 203or the like. In the description unit 103, data representing screentransition specifications which are required in executing the program isdescribed in a format of a program code readable by a computer(including a CPU or the like).

The management unit 104 includes the RAM 202, and manages a screentransition history or the like. The display unit 105 includes a liquidcrystal display (LCD) 205, and displays various types of informationwhich includes images, characters, and so on.

FIG. 1B illustrates a hardware configuration of the printer which servesas an example of the information processing apparatus according to thepresent exemplary embodiment. Elements described in the functional blockdiagram of FIG. 1A are assigned the same reference numerals and hence,the description thereof is not repeated.

In FIG. 1B, the hardware configuration includes the CPU 201, the RAM202, the ROM 203, the button 204, the LCD 205, and a system bus 206. Thesystem bus 206 connects each element in the printer, and transmits andreceives signals among the elements.

An example of a screen transition made in the printer will be describedwith reference to FIG. 3. FIG. 3 is a screen transition diagramillustrating screen transition specifications. In the printer,predetermined screen transitions are executed according to input events,described below.

When a cover of the printer is opened with any one of screens S01, S04,S11, S12, and S21 displayed on the display unit 105, a screen S31 isdisplayed on the display unit 105.

When printing (a print job) is started with any one of the screens S01,S04, S11, and S12 displayed on the display unit 105, the screen S21 isdisplayed on the display unit 105.

When a memory card is inserted into a memory card slot connected to theprinter with either one of the screens S01 and S04 displayed on thedisplay unit 105, the screen S11 is displayed on the display unit 105.

When an OK button is pressed with the screen S01 displayed on thedisplay unit 105, the screen S04 is displayed on the display unit 105.When the OK button is pressed with the screen S11 displayed on thedisplay unit 105, the screen S12 is displayed on the display unit 105.

When the cover of the printer is closed with the screen S31 displayed onthe display unit 105, any one of the screens S01, S04, S11, S12, and S21is displayed on the display unit 105 based on the information stored inthe management unit 104.

When the printing (print job) is terminated with the screen S21displayed on the display unit 105, any one of the screens S01, S04, S11,and S12 is displayed on the display unit 105 based on the informationstored in the management unit 104.

When the memory card is removed from the memory card slot connected tothe printer with either one of the screens S11 and S12 displayed on thedisplay unit 105, either one of the screens S01 and S04 is displayed onthe display unit 105 based on the information managed by the managementunit 104. The information managed by the management unit 104 will bedescribed below.

The data representing screen transition specifications used in thescreen transition will be described. The data representing screentransition specifications may be binary data, or a text in an extensiblemarkup language (XML) format, as illustrated in FIG. 6.

The control unit 102 reads out the data representing screen transitionspecifications to the RAM 202, to execute the screen transition.

In FIG. 3, squares (S01, S04, S11, S12, S21, and S31) respectivelyindicate screens, and rounded squares (G0, G1, G2, and G3) indicategroups for classifying the screens.

Solid arrows (E04, E11, E13, E21, and E31) respectively indicate screentransitions. Character strings appended to the solid arrows respectivelyindicate instruction signals corresponding to input events which serveas triggers for the screen transitions.

Dashed arrows (E12, E22, and E32) respectively indicate processes fordeleting information belonging to predetermined groups from informationrelating to screen transition history managed by the management unit104. Character strings appended to the dashed arrows respectivelyindicate instruction signals corresponding to input events which serveas triggers for the processes.

Processing performed in the control unit 102 when any one of theinstruction signals is detected will be described with reference to aflowchart of FIG. 2.

In step S301, the control unit 102 determines whether an instructionsignal is detected. If the instruction signal is detected (YES in stepS301), the processing proceeds to step S302. On the other hand, if theinstruction signal is not detected (NO in step S301), the control unit102 waits until the instruction signal is detected.

In step S302, the control unit 102 sets a screen displayed on thedisplay unit 105 as a screen transition criterion (a screen at atransition source).

In step S303, the control unit 102 examines whether a screen transitionaccording to the instruction signal detected in step S301 is defined inthe data representing screen transition specifications for the screen atthe transition source. If the data representing screen transitionspecifications includes definition of the screen transition (YES in stepS303), the processing proceeds to step S304.

On the other hand, if the data representing screen transitionspecifications does not includes definition of the screen transition (NOin step S303), the processing proceeds to step S308.

In step S304, the control unit 102 determines a screen at a transitiondestination based on the data representing screen transitionspecifications.

In step S305, the control unit 102 determines whether a transition fromthe screen at the transition source to the screen at the transitiondestination is from an outside of a group to which the screen at thetransition destination belongs to the inside thereof. If the transitionis from the outside of the group to the inside thereof (YES in stepS305), the processing proceeds to step S306.

On the other hand, if the transition from the screen at the transitionsource to the screen at the transition destination is not from theoutside of the group to which the screen at the transition destinationbelongs to the inside thereof (NO in step S305), the processing proceedsto step S307.

In step S306, the control unit 102 generates a new history managementstack corresponding to the group to which the screen at the transitiondestination belongs in the management unit 104, and adds the new historymanagement stack to a list of existing history management stacks. Thestack means a memory region.

A position where the newly generated history management stack is addedto the list is determined based on a priority previously assigned to thegroup to which the screen at the transition destination belongs.

In step S307, the control unit 102 then adds information indicating thescreen at the transition destination to the history management stackcorresponding to the group to which the screen at the transitiondestination belongs, further refers to the list, and determines thescreen to be displayed on the display unit 105.

More specifically, the CPU 102 determines whether the screen to bedisplayed on the display unit 105 is switched to the screen at thetransition destination or remains the screen at the transition source.

In step S308, the control unit 102 examines whether the instructionsignal detected in step S301 is defined as an instruction signalcorresponding to the input event indicated by the dashed arrowillustrated in FIG. 3. If the detected instruction signal is defined asthe instruction signal corresponding to the input event (YES in stepS308), the processing proceeds to step S309.

On the other hand, if the instruction signal detected in step S301 isnot defined as the instruction signal corresponding to the input eventindicated by the dashed arrow illustrated in FIG. 3 (NO in step S308),the processing proceeds to step S310.

In step S309, the control unit 102 deletes from the list of historymanagement stacks the history management stack in the predeterminedgroup to be deleted by the instruction signal which is determined to bedefined as the instruction signal corresponding to the input eventindicated by the dashed arrow illustrated in FIG. 3 in step S308. Thecontrol unit 102 then performs the processing in step S307, describedabove.

In step S310, the control unit 102 examines whether a parent group (agroup to which a screen belongs) is set to the screen at the transitionsource. If the parent group is set (YES in step S310), the processingproceeds to step S311.

On the other hand, if the parent group is not set (NO in step S310), theprocessing returns to step S301 and the control unit 102 waits with thescreen at the transition source displayed on the display unit 105 untila subsequent instruction signal is detected.

In step S311, the control unit 102 sets the parent group which isdetermined to be set in step S310 to the screen transition criterioncorresponding to the screen at the transition source, and performs theprocessing instep S303 and the subsequent steps.

Referring to FIGS. 3, 4A, and 4B, the screen transition specificationswill be described in detail. FIGS. 4A and 4B are schematic viewsrespectively illustrating examples of the history management stacks.

It is assumed that the main screen S01 illustrated in FIG. 3 is acurrent screen (the screen at the transition source). A list of historymanagement stacks in the management unit 104 at this time isschematically illustrated as a state 501 in FIG. 4A.

An active stack is a history management stack H0. A screen correspondingto information representing a screen at the head of the historymanagement stack H0 (in a lowermost portion (at the lower right) of FIG.4A) is the screen displayed on the display unit 105.

Data representing the screen at the head of the stack is datarepresenting a representative screen. The active history managementstack means a history management stack representing a group to which thescreen displayed on the display unit 105 belongs.

When an instruction signal (E04) corresponding to an input event sayingthat the OK button is pressed is detected via the input unit 101, thescreen displayed on the display unit 105 is switched to the screen S04,as schematically illustrated in the screen transition diagram of FIG. 3.

On the other hand, in the management unit 104, data representing thescreen S04 is placed on the head of the history management stack H0. Thedata representing the screen at the head of the stack is the datarepresenting the representative screen.

The list of history management stacks at this time is schematicallyillustrated as a state 502 in FIG. 4A.

Then, it is assumed that an instruction signal corresponding to an inputevent for starting a print job is detected via the input unit 101.

At this time, a screen transition made by the input event for startingthe print job is not defined in the information representing the screenS04 displayed on the display unit 105. However, an instruction signalE21 corresponding to the input event for starting the print job isdefined in the group G0 to which the screen S04 belongs, and the screenat the transition destination is the screen S21.

A transition to the screen S21 is a screen transition from the outsideof the group G2 to the inside thereof.

Therefore, the control unit 102 performs control to newly generate ahistory management stack H2 representing the group G2 in the managementunit 104 and add the history management stack H2 to the list of historymanagement stacks.

The list of history management stacks generated by the process isschematically illustrated as a state 602 in FIG. 4B.

An active stack at this time is the history management stack H2.Therefore, the screen S21 corresponding to information at the head ofthe active stack is the screen displayed on the display unit 105.

Then (before the print job is not terminated), an instruction signalcorresponding to an input event saying that a memory card on whichpictures are recorded is inserted into the memory card slot connected tothe printer is detected via the input unit 101.

At this time, a screen transition made by the input event saying thatthe memory card is inserted is not defined in the screen S21 displayedon the display unit 105 and the group G2 to which the screen S21belongs. However, as an instruction signal E11 corresponding to theinput event saying that the memory card is inserted is defined in thegroup G0 to which the group G2 belongs.

When the instruction signal E11 corresponding to the input event sayingthat the memory card is inserted is detected, therefore, the screen atthe transition destination is the screen S11. This transition is ascreen transition from the outside of the group G1 to the insidethereof.

Therefore, the control unit 102 performs control to newly generate ahistory management stack H1 representing the group G1 in the managementunit 104 and add the history management stack H1 to the list of historymanagement stacks.

A priority (1) and a priority (2) are respectively assigned to the groupG1 and the group G2. The priority assigned to the group G1 is lower thanthe priority assigned to the group G2. Therefore, the history managementstack H1 is inserted between the history management stacks H2 and H0.

More specifically, in the present exemplary embodiment, the historymanagement stacks respectively representing the groups are managed inthe list of history management stacks in ascending order of values ofthe priority (i).

The list of history management stacks at this time is schematicallyillustrated as a state 603 in FIG. 4B.

Therefore, an active stack remains the history management stack H2, andthe screen displayed on the display unit 105 is the screen S21corresponding to the information at the head of the history managementstack H2. More specifically, the screen transition does not occur.

Then (before the print job is not terminated), an instruction signalcorresponding to an input event saying that the cover of the printer isopened is detected via the input unit 101.

At this time, a screen transition made by the input event saying thatthe cover of the printer is opened is not defined in the screen S21displayed on the display unit 105 and the group G2 to which the screenS21 belongs. However, an instruction signal E31 corresponding to theinput event saying that the cover of the printer is opened is defined inthe group G0 to which the group G2 belongs.

When the instruction signal E31 corresponding to the input event sayingthat the cover of the printer is opened is detected, therefore, thescreen at the transition destination is the screen S31. This transitionis a screen transition from the outside of a group G3 to the insidethereof.

Therefore, the control unit 102 performs control to newly generate ahistory management stack H3 representing the group G3 in the managementunit 104 and add the history management stack H3 to the list of historymanagement stacks.

A priority (3) and a priority (2) are respectively assigned to the groupG3 and the group G2. The priority assigned to the group G3 is higherthan the priority assigned to the group G2. Therefore, the historymanagement stack H3 is added to the outside of the history managementstack H2.

The list of history management stacks at this time is schematicallyillustrated as a state 604 in FIG. 4B.

Therefore, an active stack is the history management stack H3, and thescreen displayed on the display unit 105 is the screen S31 correspondingto the information at the head of the history management stack H3. Morespecifically, the screen displayed on the display unit 105 is switchedfrom the screen S21 to the screen S31.

Then (before the print job is not terminated), an instruction signalcorresponding to an input event saying that the cover of the printer isclosed is detected via the input unit 101.

At this time, a screen transition made by the input event saying thatthe cover of the printer is closed is not defined in the screen S31displayed on the display unit 105 and the group G3 to which the screenS31 belongs. However, an instruction signal E32 corresponding to theinput event saying that the cover of the printer is closed is defined inthe group G0 to which the group G3 belongs.

When the instruction signal E32 is detected, an action saying that thehistory management stack H3 representing the group G3 is deleted fromthe list of history management stacks is set.

Therefore, the control unit 102 performs control to delete the historymanagement stack H3 representing the group G3 from the management unit104.

The list of history management stacks at this time is schematicallyillustrated as a state 605 in FIG. 4B.

As a result, an active stack is the history management stack H2, and thescreen displayed on the display unit 105 is switched from the screen S31to the screen S21 corresponding to the information at the head of thehistory management stack H2.

Then, it is assumed that an instruction signal corresponding to an inputevent saying that the print job is terminated is detected via the inputunit 101.

At this time, a screen transition made by the input event saying thatthe print job is terminated is not defined in the screen S21 displayedon the display unit 105 and the group G2 to which the screen S21belongs. However, an instruction signal E22 corresponding to the inputevent saying that the print job is terminated is defined in the group G0to which the group G2 belongs.

When the instruction signal E22 is detected, an action saying that thehistory management stack H2 representing the group G2 is deleted fromthe list of history management stacks is set.

Therefore, the control unit 102 performs control to delete the historymanagement stack H2 representing the group G2 from the management unit104.

The list of history management stacks at this time is schematicallyillustrated as a state 606 in FIG. 4B.

As a result, an active stack is the history management stack H1, and thescreen displayed on the display unit 105 is switched from the screen S21to the screen S11 corresponding to the information at the head of thehistory management stack H1.

When an instruction signal E13 corresponding to an input event sayingthat the OK button is pressed is then detected via the input unit 101,the screen displayed on the display unit 105 is switched to the screenS12, as schematically illustrated in the screen transition diagram ofFIG. 3.

On the other hand, in the management unit 104, data representing thescreen S12 is placed on the head of the active history management stackH1. This is because the screen S12 belongs to the group G1 to which thescreen S11 belongs.

The list of history management stacks at this time is schematicallyillustrated as a state 607 in FIG. 4B. As a result, the screen S12 isdisplayed on the display unit 105.

An instruction signal corresponding to an input event saying that thememory card on which pictures are recorded is removed from the memorycard slot connected to the printer is then detected via the input unit101.

At this time, a screen transition made by the input event saying thatthe memory card is removed is not defined in the screen S12 displayed onthe display unit 105 and the group G1 to which the screen S12 belongs.However, an instruction signal E12 corresponding to the input eventsaying that the memory card is removed is defined in the group G0 towhich the group G1 belongs.

When the instruction signal E12 is detected, an action saying that thehistory management stack H1 representing the group G1 is deleted fromthe list of history management stacks is set.

Therefore, the control unit 102 performs control to delete the historymanagement stack H1 representing the group G1 from the management unit104. The list of history management stacks at this time is schematicallyillustrated as a state 607 in FIG. 4B.

As a result, an active stack is the history management stack H0, and thescreen displayed on the display unit 105 is switched from the screen S12to the screen S04 corresponding to the information at the head of thehistory management stack H0.

If the memory card is removed, as described above, when the list ofhistory management stacks is illustrated as the state 606 in FIG. 4B,i.e., when the screen S11 is displayed on the display unit 105, thehistory management stack H1 is similarly deleted.

Therefore, the screen displayed on the display unit 105 is switched fromthe screen S11 to the screen S04.

As described above, the information processing apparatus according tothe present exemplary embodiment can simply describe, as illustrated inFIG. 3, a complicated screen transition rule.

Although in the present exemplary embodiment, the printer has beendescribed as an example, the present invention is also applicable to adigital apparatus which includes a display device and can switch aplurality of screens and display the screens on the display device.

Although in the above described first exemplary embodiment, themanagement unit 104 divides the history management stack for each group,the number of history management stacks may be one.

In a second exemplary embodiment, i.e., as illustrated in FIG. 4C, onehistory management stack may manage groups to which screens belong onthe stack, and a screen may be added, inserted, or deleted to or fromthe history management stack in a group unit.

When the history management stack is changed from a state 702 to a state703, for example, a priority assigned to a group G1 to which a screenS11 belongs is lower than a priority assigned to a group G2. Therefore,the screen S11 is inserted into the history management stack moreinternally than a screen S21.

A screen S31 belonging to a group G3 is deleted from the historymanagement stack so that the history management stack is changed from astate 704 to a state 705.

Although in the above described exemplary embodiments, screen transitionspecification description data is illustrated by the transition diagramof FIG. 3, it is actually a text or binary data. In the case of thetext, an XML may be used.

In a third exemplary embodiment, the transition diagram of FIG. 3 can bedescribed in an XML as illustrated in FIG. 6, for example. The meaningof each element is as follows:

<screentransition>: is a root element, and corresponds to a group GOillustrated in FIG. 3.

<screen>: represents a screen, and is indicated by a square in FIG. 3.

<group>: represents a group, and corresponds to G1, G2, and G3 indicatedby rounded squares in FIG. 3.

A priority attribute for the element <group> corresponds to the priorityillustrated in FIG. 3.

<transition>: represents a screen transition, and is indicated by asolid arrow in FIG. 3.

<exit>: represents an action saying that a group is deleted, and isindicated by a dashed arrow in FIG. 3.

Although in the above described third exemplary embodiment, the screentransition specification description data may be a text in an XML formator the like or binary data, the data may be designed with a design tool801 as illustrated in FIG. 5 in a fourth exemplary embodiment.

The design tool 801 is a tool for drawing the transition diagram of FIG.3, and can edit the transition diagram by dragging and droppingnecessary parts in a transition diagram field 803 from a part group 802in the transition diagram.

The part group 802 includes at least a “screen”, a “group”, a transitionarrow (solid arrow), and an action (dashed arrow) for deleting thegroup.

The part “screen” is arranged in the part “group” by a draggingoperation so that a state where the screen belongs to the group can berepresented.

A transition diagram is drawn with such a tool, and a “save button”which is one of the buttons 204 is pressed so that the contents of thetransition diagram is output to a file in an XML format as illustratedin FIG. 6.

The file itself or binary data obtained by converting the file to havecontents equivalent thereto is stored in a screen transitionspecification description unit 103.

Further, the control unit 102 reads and executes the file or the binarydata, so that an operation described in the screen transitionspecification designed with the tool can be realized on a digitalapparatus such as a printer.

Although in the above described first and second exemplary embodiments,it is assumed that the data representing screen transitionspecifications is generated during UI design and is incorporated inadvance into a real machine of the printer.

In a fifth exemplary embodiment, however, a printer may load anotherscreen transition specification description data and replace existingdata representing screen transition specifications therewith by using amemory card, a network, or the like as a medium, to enable customizationof a screen transition rule.

FIG. 7 illustrates how a multifunction printer 1001 is connected to adistribution server 1002 via the Internet 1004, and the distributionserver 1002 is connected to a personal computer (PC) 1003 via a localarea network (LAN) 1005.

The PC 1003 generates data representing screen transition specificationsin an XML format or a binary format using a design tool as described inthe fourth exemplary embodiment.

The generated data representing screen transition specifications isuploaded to the distribution server 1002 via the LAN 1005. The uploadeddata representing screen transition specifications is transmitted to themultifunction printer 1001 via the Internet 1004.

The operations of the multifunction printer 1001 and the distributionserver 1002 will be described with reference to a flowchart of FIG. 8.

In step S1101, the distribution server 1002 checks whether datarepresenting screen transition specifications is uploaded from the PC1003.

If the data representing screen transition specifications is uploaded(YES in step S1101), then in step S1102, the distribution server 1002notifies the multifunction printer 1001 that new data representingscreen transition specifications is downloadable via the Internet 1004.

In step S1105, the multifunction printer 1001 checks whether it isnotified that the new data representing screen transition specificationsis downloadable by the distribution server 1002. If the printer isnotified (YES in step S1105), then in step S1106, the multifunctionprinter 1001 notifies a user that the new data representing screentransition specifications is downloadable by display on an LCD 205.

In step S1107, the multifunction printer 1001 checks whether it isinstructed to download the new data representing screen transitionspecifications by the user. If the multifunction printer 1001 isinstructed (YES in step S1107), then instep S1108, the multifunctionprinter 1001 requires the distribution server 1002 to download the newdata representing screen transition specifications via the Internet1103.

In step S1103, the distribution server 1002 checks whether it isrequired to download the new data representing screen transitionspecifications by the multifunction printer 1101. If the distributionserver 1002 is required (YES in step S1103), then in step S1104, thedistribution server 1002 transmits the new data representing screentransition specifications to the multifunction printer 1001 via theInternet 1003.

In step S1109, the multifunction printer 1001 receives the new datarepresenting screen transition specifications that have beentransmitted.

In step S1110, the control unit 102 reads the new data representingscreen transition specifications to execute the screen transition basedon the new data representing screen transition specifications.

Aspects of the present invention can also be realized by a computer of asystem or apparatus (or devices such as a CPU or MPU) that reads out andexecutes a program recorded on a memory device to perform the functionsof the above-described embodiment (s), and by a method, the steps ofwhich are performed by a computer of a system or apparatus by, forexample, reading out and executing a program recorded on a memory deviceto perform the functions of the above-described embodiment (s). For thispurpose, the program is provided to the computer for example via anetwork or from a recording medium of various types serving as thememory device (e.g., computer-readable medium).

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

What is claimed is:
 1. An information processing apparatus which refersto a stack, and determines a screen to be displayed on a display unit,the apparatus comprising: an obtaining unit configured to obtain aninput signal of an event which serves as a trigger of screen transitionof a screen displayed on the display unit; a storage unit configured tostore, in each of a plurality of groups to which priorities arepreviously set, the stack which is for identifying a screen which is acandidate of a transition destination of the screen transition,according to the input signal obtained by the obtaining unit; and acontrol unit configured to determine a representative screen of each ofthe plurality of groups, based on a position in the stack whereinformation indicating the screen is stored, and display on the displayunit a representative screen of a group which is assigned the highestpriority among the plurality of groups.
 2. The information processingapparatus according to claim 1, wherein the storage unit addsinformation indicating a screen which is a new candidate of thetransition destination of the screen transition into the stack accordingto the input signal obtained by the obtaining unit, wherein theinformation is added to the top of a stack corresponding to a group towhich a screen indicated by the information belongs, and wherein thecontrol unit determines, as a representative screen for each of theplurality of groups, a screen indicated by information stored at the topof a stack of each of the plurality of groups.
 3. The informationprocessing apparatus according to claim 1, wherein when the storage unitadds information indicating a screen which is a new candidate of thetransition destination of the screen transition into the stack accordingto the input signal obtained by the obtaining unit, if a priority of agroup to which a screen indicated by the information belongs becomes thehighest, the control unit performs transition of the screen displayed onthe display unit to the screen indicated by the information.
 4. Theinformation processing apparatus according to claim 1, wherein theinformation processing apparatus is a printer, and wherein the event isinput in response to operation of the printing.
 5. The informationprocessing apparatus according to claim 1, wherein the informationprocessing apparatus is a printer, and wherein the input events includeat least one of an event which occurs when a cover of the printer isopened, an event which occurs when printing is started, an event whichoccurs when a memory card is inserted into a memory card slot connectedto the printer, an event which occurs when an OK button is pressed, anevent which occurs when the cover of the printer is closed, an eventwhich occurs when the printing is terminated and an event which occurswhen the memory card is removed from the memory card slot connected tothe printer.
 6. A method for processing information which is executed byan information processing apparatus which refers to a stack, anddetermines a screen to be displayed on a display unit, the methodcomprising: an obtaining step of obtaining an input signal of an eventwhich serves as a trigger of screen transition of a screen displayed onthe display unit; a storing step of storing, in each of a plurality ofgroups to which priorities are previously set, the stack which is foridentifying a screen which is a candidate of a transition destination ofthe screen transition, according to the obtained input signal; and acontrolling step of determining a representative screen of each of theplurality of groups, based on a position in the stack where informationindicating the screen is stored, and displaying on the display unit arepresentative screen of a group which is assigned the highest priorityamong the plurality of groups.
 7. The method according to claim 6,wherein, in the storing step, information indicating a screen which is anew candidate of the transition destination of the screen transition isadded into the stack according to the obtained input signal, wherein theinformation is added to the top of a stack corresponding to a group towhich a screen indicated by the information belongs, and wherein, in thecontrolling step, a screen indicated by information stored at the top ofa stack of each of the plurality of groups is determined as arepresentative screen of each of the plurality of groups.
 8. The methodaccording to claim 6, wherein when, in the storing step, informationindicating a screen which is a new candidate of the transitiondestination of the screen transition is added into the stack accordingto the obtained input signal, if a priority of a group to which a screenindicated by the information belongs becomes the highest, thecontrolling step performs transition of the screen displayed on thedisplay unit to the screen indicated by the information.
 9. The methodaccording to claim 6, wherein the information processing apparatus is aprinter, and wherein the event is input in response to operation of theprinting.
 10. The method according to claim 6, wherein the informationprocessing apparatus is a printer, and wherein the input events includeat least one of an event which occurs when a cover of the printer isopened, an event which occurs when printing is started, an event whichoccurs when a memory card is inserted into a memory card slot connectedto the printer, an event which occurs when an OK button is pressed, anevent which occurs when the cover of the printer is closed, an eventwhich occurs when the printing is terminated and an event which occurswhen the memory card is removed from the memory card slot connected tothe printer.
 11. A non-transitory computer readable storage medium whichstores a program for executing the method according to claim 6.